#!/bin/bash
# HTTP性能压测工具使用示例 - Unix/Linux/macOS脚本

echo "========================================"
echo "HTTP性能压测工具使用示例"
echo "========================================"
echo

# 设置JAR文件路径
JAR_FILE="target/http-performance-tester.jar"

# 检查JAR文件是否存在
if [ ! -f "$JAR_FILE" ]; then
    echo "错误: 找不到JAR文件 $JAR_FILE"
    echo "请先运行 'mvn package' 编译项目"
    exit 1
fi

echo "1. 显示帮助信息"
java -jar $JAR_FILE --help
echo

echo "========================================"
echo "2. 生成示例配置文件"
echo "========================================"
java -jar $JAR_FILE --example example-generated.yml
if [ $? -eq 0 ]; then
    echo "示例配置文件已生成: example-generated.yml"
else
    echo "生成示例配置文件失败"
fi
echo

echo "========================================"
echo "3. 验证配置文件"
echo "========================================"
java -jar $JAR_FILE --config config/simple-config.yml --validate
if [ $? -eq 0 ]; then
    echo "配置文件验证成功"
else
    echo "配置文件验证失败"
fi
echo

echo "========================================"
echo "4. 快速测试模式 - 测试单个URL"
echo "========================================"
echo "测试 httpbin.org 的GET请求，5个并发用户，持续30秒"
java -jar $JAR_FILE --url "https://httpbin.org/json" --users 5 --duration 30 --format console
echo

echo "========================================"
echo "5. 快速POST请求测试"
echo "========================================"
echo "测试POST请求，带请求体和请求头"
java -jar $JAR_FILE --url "https://httpbin.org/post" --method POST --data '{"test":"data"}' --header "Content-Type=application/json" --users 3 --duration 20
echo

echo "========================================"
echo "6. 使用简单配置文件运行测试"
echo "========================================"
java -jar $JAR_FILE --config config/simple-config.yml --format html --output ./results
echo

echo "========================================"
echo "7. 使用完整配置文件运行测试"
echo "========================================"
java -jar $JAR_FILE --config config/example-config.yml --users 10 --duration 60
echo

echo "========================================"
echo "8. 使用JSON配置文件运行测试"
echo "========================================"
java -jar $JAR_FILE --config config/restful-api-config.json --format csv
echo

echo "========================================"
echo "9. 高并发压力测试"
echo "========================================"
echo "警告：这将产生较高的网络负载"
read -p "按Enter键继续，或按Ctrl+C取消..."
java -jar $JAR_FILE --url "https://httpbin.org/status/200" --users 50 --duration 60 --qps 100 --rampup 10
echo

echo "========================================"
echo "10. 自定义报告格式测试"
echo "========================================"
echo "生成HTML格式报告"
java -jar $JAR_FILE --config config/simple-config.yml --format html --output ./html-reports
echo

echo "生成JSON格式报告"
java -jar $JAR_FILE --config config/simple-config.yml --format json --output ./json-reports
echo

echo "生成CSV格式报告"
java -jar $JAR_FILE --config config/simple-config.yml --format csv --output ./csv-reports
echo

echo "========================================"
echo "示例演示完成"
echo "========================================"
echo "请查看生成的报告文件："
echo "- ./results/ (默认输出目录)"
echo "- ./html-reports/"
echo "- ./json-reports/"
echo "- ./csv-reports/"
echo

echo "更多使用方法请参考："
echo "java -jar $JAR_FILE --help"
echo